package studentinformationmanagementsystem.dao;

import studentinformationmanagementsystem.entity.Classandgrade;
import studentinformationmanagementsystem.entity.Student;

import java.util.List;

/**
 * @author 苗庆
 * @version 1.0
 */
public interface ClassandgradeDao {
    
    /**
     * 对班级信息进行添加
     * @param classandgrade  班级对象
     * @return  受影响的记录行数
     */
    int insert(Classandgrade classandgrade);


    /**
     *  根据ID更新班级信息
     * @param classandgrade  班级对象
     * @return 受影响的记录行数
     */
    int update(Classandgrade classandgrade);


    /**
     *  根据ID删除班级
     * @param classandgrade 班级ID
     * @return 受影响的记录行数
     */
    int delete(Classandgrade classandgrade);


    /**
     * 查询所有班级信息
     * @return 所有班级信息
     */
    List<Classandgrade> queryAll(Classandgrade classandgrade);

    /**
     * 根据班级ID查询班级信息
     * @param classandgrade 班级ID 
     * @return 班级信息
     */
    Classandgrade queryById(Classandgrade classandgrade);



    /**
     * 根据教师ID查询班级信息
     * @param classandgrade 班级ID
     * @return 班级信息
     */
    Classandgrade queryTeacherId(Classandgrade classandgrade);
    
    /**
     * 根据班级名称查询班级信息
     * @param classandgrade 班级名称
     * @return 班级信息
     */
    Classandgrade queryByClassandgradeNname(Classandgrade classandgrade);


    /**
     * 查询总记录条数
     */
    Integer queryForPageTotalCount();


    /**
     * 分页查询DAO层方法
     *
     * @param begin    起始记录行数
     * @param pageSize 每页展示数量
     * @return
     */
    List<Classandgrade> queryForPageItems(int begin, int pageSize);
}
